home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / joke / m_clock / source / m_clock.bas next >
Encoding:
BASIC Source File  |  1995-02-16  |  25.9 KB  |  460 lines

  1. 10 '********************************************************************
  2. 20 '**   冗談ビデオソフト 「MultiClock」  V1.1 メインルーチン **
  3. 40 '**  NOI'z BASIC GUI SUPPORT LIBLALY IIIを使用させてもらってます   **
  4. 50 '**                                         By ちくちくうにうに    **
  5. 60 '********************************************************************
  6. 70 *FORMAT 'ディスクの初期化ではない。 GUIシステムの初期化。
  7. 80 CLEAR ,,,,1024,300*1024
  8. 90 SCREEN 0:SCREEN@ 0:CLS:WINDOW(0,0)-(1023,511):VIEW(0,0)-(1023,511)
  9. 100 PROG_FLAG=1:FONT_FLAG=1:XBAI=2:YBAI=2:GOSUB *ZOOM
  10. 110 AND0$=CHR$(&H7F,&HFF,&H3F,&HFF,&H1F,&HFF,&H0F,&HFF,&H07,&HFF,&H03,&HFF,&H01,&HFF,&H00,&HFF,&H00,&H7F,&H00,&H3F,&H00,&H1F,&H00,&HFF,&H00,&HFF,&H18,&H7F,&H38,&H7F,&HFC,&H7F)
  11. 120 DOT0$=CHR$(&H00,&H00,&H00,&H00,&H40,&H00,&H20,&H00,&H50,&H00,&H38,&H00,&H5C,&H00,&H2E,&H00,&H5F,&H00,&H2F,&H80,&H5E,&H00,&H26,&H00,&H42,&H00,&H03,&H00,&H01,&H00,&H00,&H00)
  12. 130 DIM PAL%(2,15),SANKAKU(500),EXIT(500)
  13. 140 DIM FMTOWNS(500),BS$(200),HX(200),HY(200),HDX(200),HDY(200),COL(200),MOJI$(200),PUSHB(200)
  14. 150 LOAD@"palette2.pal",PAL%:PALETTE 7,[30,30,30]:GOSUB *FED_IN:GOSUB *EXIT
  15. 160 DEF FONT"システム   12ドット":GOSUB *FMTOWNS:CLS:GOSUB *SANKAKU:MOUSE 0:MOUSE 1,160,120,1:MOUSE 2,AND0$,DOT0$
  16. 170 GOTO *YOURPROGRAM
  17. 180 '-----------------------------------------------SUBルーチン群
  18. 190 *FED_IN 'フェードインを行う 16/256COLORのみ使用可
  19. 200 FOR I=0 TO 15
  20. 210 FOR COL=0 TO 15
  21. 220 PALETTE COL,[PAL%(0,COL)*I,PAL%(1,COL)*I,PAL%(2,COL)*I]
  22. 230 NEXT
  23. 240 NEXT:RETURN
  24. 250 '
  25. 260 *FED_OUT 'フェードアウトを行う 16/256のみ
  26. 270 FOR I=15 TO 0 STEP -1
  27. 280 FOR COL=0 TO 15
  28. 290 PALETTE COL,[PAL%(0,COL)*I,PAL%(1,COL)*I,PAL%(2,COL)*I]
  29. 300 NEXT
  30. 310 NEXT:RETURN
  31. 320 '
  32. 330 *CONNECT 'ボタン その1
  33. 340 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
  34. 350 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
  35. 360 RETURN
  36. 370 '
  37. 380 *CONNECT2 'ボタン その2
  38. 390 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),7,PSET
  39. 400 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),7,PSET
  40. 410 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),%8,PSET
  41. 420 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),%8,PSET
  42. 430 RETURN
  43. 440 '
  44. 450 *CONNECTR '押されたボタン 1
  45. 460 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
  46. 470 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
  47. 480 RETURN
  48. 490 '
  49. 500 *CONNECT2R '押されたボタン 2
  50. 510 CONNECT (X1,Y2)-(X1,Y1)-(X2,Y1),%8,PSET
  51. 520 CONNECT (X1+1,Y2-1)-(X1+1,Y1+1)-(X2-1,Y1+1),%8,PSET
  52. 530 CONNECT (X2,Y1+1)-(X2,Y2)-(X1+1,Y2),7,PSET
  53. 540 CONNECT (X2-1,Y1+2)-(X2-1,Y2-1)-(X1+2,Y2-1),7,PSET
  54. 550 RETURN
  55. 560 '
  56. 570 *SANKAKU '▼フォント作成
  57. 580 RESTORE 590
  58. 590 DATA -1,0,0,0,0
  59. 600 DATA -1,-1,0,0,0
  60. 610 DATA -1,-1,-1,0,0
  61. 620 DATA -1,-1,-1,-1,0
  62. 630 DATA -1,-1,-1,-1,-1
  63. 640 DATA -1,-1,-1,-1,0
  64. 650 DATA -1,-1,-1,0,0
  65. 660 DATA -1,-1,0,0,0
  66. 670 DATA -1,0,0,0,0
  67. 680 DATA 0,0,0,0,0
  68. 690 FOR I=0 TO 9:FOR A=0 TO 4:READ DOT
  69. 700 IF DOT=-1 THEN PSET(I,480+A),7
  70. 710 NEXT:NEXT
  71. 720 GET@A(0,480)-(9,484),SANKAKU
  72. 730 RETURN
  73. 740 '
  74. 750 *EXIT'出口のフォント
  75. 760 RESTORE 800
  76. 770 FOR Y=0 TO 12:FOR X=0 TO 10:READ E
  77. 780 IF E=1 THEN PSET(640+X,Y),7
  78. 790 NEXT:NEXT
  79. 800 DATA 0,0,0,0,1,1,1,0,0,0,0
  80. 810 DATA 0,0,0,0,1,1,1,0,0,0,0
  81. 820 DATA 0,0,0,0,1,1,1,0,0,0,0
  82. 830 DATA 0,0,0,0,1,1,1,0,0,0,0
  83. 840 DATA 0,0,0,0,0,0,0,0,0,0,0
  84. 850 DATA 0,0,0,0,1,1,1,0,0,0,0
  85. 860 DATA 0,0,0,0,1,1,1,0,0,0,0
  86. 870 DATA 0,0,0,1,1,1,1,1,0,0,0
  87. 880 DATA 0,0,0,1,1,1,1,1,0,0,0
  88. 890 DATA 0,0,1,1,1,1,1,1,1,0,0
  89. 900 DATA 0,0,1,1,1,1,1,1,1,0,0
  90. 910 DATA 0,1,1,1,1,1,1,1,1,1,0
  91. 920 DATA 1,1,1,1,1,1,1,1,1,1,1
  92. 930 GET@A(640,0)-(650,12),EXIT
  93. 940 '
  94. 950 *FMTOWNS'FMTOWNSのロゴ
  95. 960 RESTORE 970
  96. 970 DATA 0,0,0,0,0,0,-1,0,0,0,-1
  97. 980 DATA 0,0,0,0,0,0,-1,-1,-1,-1,-1
  98. 990 DATA 0,0,0,0,0,0,-1,0,-1,0,-1
  99. 1000 DATA 0,0,0,0,0,0,-1,0,-1,0,0
  100. 1010 DATA 0,0,0,0,0,0,-1,-1,0,0,0
  101. 1020 DATA 0,0,0,0,0,0,0,0,0,0,0
  102. 1030 DATA 0,0,0,0,0,0,-1,0,0,0,-1
  103. 1040 DATA 0,0,0,0,0,0,-1,-1,-1,-1,-1
  104. 1050 DATA 0,0,0,0,0,0,0,-1,-1,0,0
  105. 1060 DATA 0,0,0,0,0,0,0,0,0,-1,-1
  106. 1070 DATA 0,0,0,0,0,0,0,0,-1,-1,0
  107. 1080 DATA 0,0,0,0,0,0,-1,-1,0,0,-1
  108. 1090 DATA -1,-1,0,0,0,0,-1,-1,-1,-1,-1
  109. 1100 DATA -1,-1,0,0,0,0,-1,0,0,0,-1
  110. 1110 DATA -1,-1,0,0,0,0,0,0,0,0,0
  111. 1120 DATA -1,-1,0,0,0,0,0,0,0,0,0
  112. 1130 DATA -1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1
  113. 1140 DATA -1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1
  114. 1150 DATA -1,-1,0,0,0,0,0,0,0,0,0
  115. 1160 DATA -1,-1,0,0,0,0,0,0,0,0,0
  116. 1170 DATA -1,-1,0,0,0,0,0,0,0,0,0
  117. 1180 DATA -1,-1,0,0,-1,0,-1,0,0,0,0
  118. 1190 DATA 0,0,-1,-1,-1,0,-1,-1,-1,0,0
  119. 1200 DATA 0,-1,-1,-1,-1,0,-1,-1,-1,-1,0
  120. 1210 DATA 0,-1,-1,0,0,0,0,0,-1,-1,0
  121. 1220 DATA -1,-1,0,0,0,0,0,0,0,-1,-1
  122. 1230 DATA -1,-1,0,0,0,0,0,0,0,-1,-1
  123. 1240 DATA -1,-1,0,0,0,0,0,0,0,-1,-1
  124. 1250 DATA 0,-1,-1,0,0,0,0,0,-1,-1,0
  125. 1260 DATA 0,-1,-1,-1,-1,0,-1,-1,-1,-1,0
  126. 1270 DATA 0,0,-1,-1,-1,0,-1,-1,-1,0,0
  127. 1280 DATA 0,0,0,0,-1,0,-1,0,0,0,0
  128. 1290 DATA -1,-1,0,0,0,0,0,0,0,0,0
  129. 1300 DATA -1,-1,-1,-1,-1,0,0,0,0,0,0
  130. 1310 DATA 0,0,-1,-1,-1,0,-1,-1,0,0,0
  131. 1320 DATA 0,0,0,0,0,0,-1,-1,-1,-1,-1
  132. 1330 DATA 0,0,0,0,0,0,-1,-1,-1,-1,-1
  133. 1340 DATA 0,0,0,-1,-1,0,-1,-1,0,0,0
  134. 1350 DATA -1,-1,-1,-1,-1,0,0,0,0,0,0
  135. 1360 DATA -1,-1,-1,-1,-1,0,0,0,0,0,0
  136. 1370 DATA 0,0,0,-1,-1,0,-1,-1,0,0,0
  137. 1380 DATA 0,0,0,0,0,0,-1,-1,-1,-1,-1
  138. 1390 DATA 0,0,0,0,0,0,-1,-1,-1,-1,-1
  139. 1400 DATA 0,0,-1,-1,-1,0,-1,-1,0,0,0
  140. 1410 DATA -1,-1,-1,-1,-1,0,0,0,0,0,0
  141. 1420 DATA -1,-1,0,0,0,0,0,0,0,0,0
  142. 1430 DATA 0,0,0,0,0,0,0,0,0,0,0
  143. 1440 DATA -1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1
  144. 1450 DATA -1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1
  145. 1460 DATA -1,-1,0,0,0,0,0,0,0,0,0
  146. 1470 DATA -1,-1,0,0,0,0,0,0,0,0,0
  147. 1480 DATA -1,-1,-1,-1,0,0,0,0,0,0,0
  148. 1490 DATA 0,-1,-1,-1,-1,0,-1,0,0,0,0
  149. 1500 DATA 0,0,0,-1,-1,0,-1,-1,-1,0,0
  150. 1510 DATA 0,0,0,0,0,0,-1,-1,-1,-1,0
  151. 1520 DATA 0,0,0,0,0,0,0,0,-1,-1,-1
  152. 1530 DATA -1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1
  153. 1540 DATA -1,-1,-1,-1,-1,0,-1,-1,-1,-1,-1
  154. 1550 DATA 0,0,0,0,0,0,0,0,0,0,0
  155. 1560 DATA 0,-1,-1,-1,0,0,0,0,0,-1,-1
  156. 1570 DATA -1,-1,-1,-1,-1,0,0,0,0,-1,-1
  157. 1580 DATA -1,-1,-1,-1,-1,0,0,0,0,-1,-1
  158. 1590 DATA -1,-1,0,-1,-1,0,0,0,0,-1,-1
  159. 1600 DATA -1,-1,0,-1,-1,0,0,0,0,-1,-1
  160. 1610 DATA -1,-1,0,-1,-1,0,0,0,0,-1,-1
  161. 1620 DATA -1,-1,0,-1,-1,0,0,0,0,-1,-1
  162. 1630 DATA -1,-1,0,-1,-1,0,-1,-1,-1,-1,-1
  163. 1640 DATA -1,-1,0,-1,-1,0,-1,-1,-1,-1,-1
  164. 1650 DATA 0,0,0,0,-1,0,-1,-1,-1,-1,0
  165. 1660 DATA 0,0,0,0,0,0,0,0,0,0,0
  166. 1670 CLS:FOR I=0 TO 69:FOR A=0 TO 10:READ DOT
  167. 1680 IF DOT=-1 THEN PSET(I,480+A),7
  168. 1690 NEXT:NEXT
  169. 1700 GET@A(0,480)-(69,490),FMTOWNS:RETURN
  170. 1710 '
  171. 1720 *RK '画面をかく
  172. 1730 CLS
  173. 1740 FOR I=0 TO MAX-1
  174. 1750 IF BS$(I)="BOXFIL" AND COL(I)>=0 AND COL(I)<=7 THEN LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,COL(I),BF
  175. 1760 IF BS$(I)="BOXFIL" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,%C,BF
  176. 1770 IF BS$(I)="CONNECT" AND COL(I)>=0 AND COL(I)<=7 THEN LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,COL(I),BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT
  177. 1780 IF BS$(I)="CONNECT" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,%C,BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT
  178. 1790 IF BS$(I)="CONNECT2" AND COL(I)>=0 AND COL(I)<=7 THEN LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,COL(I),BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT2
  179. 1800 IF BS$(I)="CONNECT2" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,%C,BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT2
  180. 1810 IF BS$(I)="CONNECTR" AND COL(I)>=0 AND COL(I)<=7 THEN LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,COL(I),BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECTR
  181. 1820 IF BS$(I)="CONNECTR" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,%C,BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECTR
  182. 1830 IF BS$(I)="CONNECT2R" AND COL(I)>=0 AND COL(I)<=7 THEN LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,COL(I),BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT2R
  183. 1840 IF BS$(I)="CONNECT2R" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,%C,BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT2R
  184. 1850 IF BS$(I)="FMTOWNS" THEN PUT@A(HX(I),HY(I))-(HDX(I),HDY(I)),FMTOWNS,MATTE,,,0
  185. 1860 IF BS$(I)="MCONNECT" AND COL(I)>=0 AND COL(I)<=7 THEN LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,COL(I),BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT
  186. 1870 IF BS$(I)="MCONNECT" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,%C,BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT
  187. 1880 IF BS$(I)="MCONNECT2" AND COL(I)>=0 AND COL(I)<=7 THEN LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,COL(I),BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT2
  188. 1890 IF BS$(I)="MCONNECT2" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,%C,BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT2
  189. 1900 IF BS$(I)="MCONNECTR" AND COL(I)>=0 AND COL(I)<=7 THEN LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,COL(I),BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECTR
  190. 1910 IF BS$(I)="MCONNECTR" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,%C,BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECTR
  191. 1920 IF BS$(I)="MCONNECT2R" AND COL(I)>=0 AND COL(I)<=7 THEN LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,COL(I),BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT2R
  192. 1930 IF BS$(I)="MCONNECT2R" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:LINE(HX(I),HY(I))-(HDX(I),HDY(I)),PSET,%C,BF:X1=HX(I):Y1=HY(I):X2=HDX(I):Y2=HDY(I):GOSUB *CONNECT2R
  193. 1940 IF BS$(I)="MOJI" AND COL(I)>=0 AND COL(I)<=7 THEN SYMBOL(HX(I),HY(I)),MOJI$(I),.75!,.75!,COL(I)
  194. 1950 IF BS$(I)="MOJI" AND COL(I)>=8 AND COL(I)<=15 THEN C=COL(I)-8:SYMBOL(HX(I),HY(I)),MOJI$(I),.75!,.75!,%C
  195. 1960 IF BS$(I)="EXIT" THEN PUT@A(HX(I),HY(I))-(HDX(I),HDY(I)),EXIT,MATTE,,,0
  196. 1970 IF BS$(I)="SANKAKU" THEN PUT@A(HX(I),HY(I))-(HDX(I),HDY(I)),SANKAKU,MATTE,,,0
  197. 1980 NEXT
  198. 1990 RETURN
  199. 2000 '
  200. 2010 *ボタン処理
  201. 2020 IF PUSHB(HMX)=2 THEN *BOTTONXOR
  202. 2030 IF PUSHB(HMX)=1 THEN *BOTTONH
  203. 2040 IF COL(HMX)<=7 AND COL(HMX)>=0 AND BS$(HMX)="CONNECT" THEN LINE(HX(HMX),HY(HMX))-(HDX(HMX),HDY(HMX)),PSET,COL(HMX),B
  204. 2050 IF COL(HMX)<=15 AND COL(HMX)>=8 AND BS$(HMX)="CONNECT" THEN C=COL(HMX)-8:LINE(HX(HMX),HY(HMX))-(HDX(HMX),HDY(HMX)),PSET,%C,B
  205. 2060 IF COL(HMX)<=7 AND COL(HMX)>=0 AND BS$(HMX)="CONNECT2" THEN
  206. 2070 FOR I=0 TO 1:LINE(HX(HMX)+I,HY(HMX)+I)-(HDX(HMX)-I,HDY(HMX)-I),PSET,COL(HMX),B:NEXT
  207. 2080 ENDIF
  208. 2090 IF COL(HMX)<=15 AND COL(HMX)>=8 AND BS$(HMX)="CONNECT2" THEN
  209. 2100 C=COL(HMX)-8:FOR I=0 TO 1:LINE(HX(HMX)+I,HY(HMX)+I)-(HDX(HMX)-I,HDY(HMX)-I),PSET,%C,B:NEXT
  210. 2110 ENDIF
  211. 2120 IF COL(HMX)<=7 AND COL(HMX)>=0 AND BS$(HMX)="CONNECTR" THEN LINE(HX(HMX),HY(HMX))-(HDX(HMX),HDY(HMX)),PSET,COL(HMX),BF
  212. 2130 IF COL(HMX)<=15 AND COL(HMX)>=8 AND BS$(HMX)="CONNECTR" THEN C=COL(HMX)-8:LINE(HX(HMX),HY(HMX))-(HDX(HMX),HDY(HMX)),PSET,%C,B
  213. 2140 IF COL(HMX)<=7 AND COL(HMX)>=0 AND BS$(HMX)="CONNECT2R" THEN
  214. 2150 FOR I=0 TO 1:LINE(HX(HMX)+I,HY(HMX)+I)-(HDX(HMX)-I,HDY(HMX)-I),PSET,COL(HMX),B:NEXT
  215. 2160 ENDIF
  216. 2170 IF COL(HMX)<=15 AND COL(HMX)>=8 AND BS$(HMX)="CONNECT2R" THEN
  217. 2180 C=COL(HMX)-8:FOR I=0 TO 1:LINE(HX(HMX)+I,HY(HMX)+I)-(HDX(HMX)-I,HDY(HMX)-I),PSET,%C,B:NEXT
  218. 2190 ENDIF
  219. 2200 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  220. 2210 IF MX>=HX(HMX) AND MY>=HY(HMX) AND MX<=HDX(HMX) AND MY<=HDY(HMX) THEN
  221. 2220 ELSE
  222. 2230 IF BS$(HMX)="CONNECT" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT
  223. 2240 IF BS$(HMX)="CONNECT2" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2
  224. 2250 IF BS$(HMX)="CONNECTR" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECTR
  225. 2260 IF BS$(HMX)="CONNECT2R" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2R
  226. 2270 RETURN:ENDIF
  227. 2280 WEND
  228. 2290 IF BS$(HMX)="CONNECT" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT
  229. 2300 IF BS$(HMX)="CONNECT2" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2
  230. 2310 IF BS$(HMX)="CONNECTR" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECTR
  231. 2320 IF BS$(HMX)="CONNECT2R" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2R
  232. 2330 SWITCH=1:RETURN
  233. 2340 '
  234. 2350 *BOTTONXOR
  235. 2360 LINE(HX(HMX),HY(HMX))-(HDX(HMX),HDY(HMX)),XOR,,BF
  236. 2370 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  237. 2380 IF MX>=HX(HMX) AND MY>=HY(HMX) AND MX<=HDX(HMX) AND MY<=HDY(HMX) ELSE LINE(HX(HMX),HY(HMX))-(HDX(HMX),HDY(HMX)),XOR,,BF:RETURN
  238. 2390 WEND
  239. 2400 LINE(HX(HMX),HY(HMX))-(HDX(HMX),HDY(HMX)),XOR,,BF:SWITCH=1:RETURN
  240. 2410 '
  241. 2420 *BOTTONH
  242. 2430 IF BS$(HMX)="CONNECT" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECTR
  243. 2440 IF BS$(HMX)="CONNECT2" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2R
  244. 2450 IF BS$(HMX)="CONNECTR" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT
  245. 2460 IF BS$(HMX)="CONNECT2R" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2
  246. 2470 WHILE MOUSE(2,0)=-1:MX=MOUSE(0):MY=MOUSE(1)
  247. 2480 IF MX>=HX(HMX) AND MY>=HY(HMX) AND MX<=HDX(HMX) AND MY<=HDY(HMX) THEN
  248. 2490 ELSE
  249. 2500 IF BS$(HMX)="CONNECT" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT
  250. 2510 IF BS$(HMX)="CONNECT2" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2
  251. 2520 IF BS$(HMX)="CONNECTR" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECTR
  252. 2530 IF BS$(HMX)="CONNECT2R" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2R
  253. 2540 RETURN:ENDIF
  254. 2550 WEND
  255. 2560 IF BS$(HMX)="CONNECT" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT
  256. 2570 IF BS$(HMX)="CONNECT2" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2
  257. 2580 IF BS$(HMX)="CONNECTR" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECTR
  258. 2590 IF BS$(HMX)="CONNECT2R" THEN X1=HX(HMX):Y1=HY(HMX):X2=HDX(HMX):Y2=HDY(HMX):GOSUB *CONNECT2R
  259. 2600 SWITCH=1:RETURN
  260. 2610 '
  261. 5000 *YOURPROGRAM 'ここからユーザーPROGRAM
  262. 5010 MAX= 33
  263. 5020 BS$(0)="BOXFIL":HX(0)=0:HY(0)=0:HDX(0)=319:HDY(0)=239:COL(0)=9:MOJI$(0)="":PUSHB(0)=0
  264. 5030 BS$(1)="MCONNECT":HX(1)=59:HY(1)=59:HDX(1)=248:HDY(1)=197:COL(1)=9:MOJI$(1)="":PUSHB(1)=0
  265. 5040 BS$(2)="CONNECT2":HX(2)=63:HY(2)=63:HDX(2)=77:HDY(2)=78:COL(2)=9:MOJI$(2)="":PUSHB(2)=0
  266. 5050 BS$(3)="MOJI":HX(3)=65:HY(3)=65:HDX(3)=77:HDY(3)=77:COL(3)=7:MOJI$(3)="×":PUSHB(3)=0
  267. 5060 BS$(4)="MOJI":HX(4)=65:HY(4)=66:HDX(4)=77:HDY(4)=78:COL(4)=7:MOJI$(4)="×":PUSHB(4)=0
  268. 5070 BS$(5)="MCONNECTR":HX(5)=81:HY(5)=63:HDX(5)=242:HDY(5)=78:COL(5)=9:MOJI$(5)="":PUSHB(5)=0
  269. 5080 BS$(6)="MOJI":HX(6)=84:HY(6)=65:HDX(6)=192:HDY(6)=77:COL(6)=7:MOJI$(6)="コントロールパネル":PUSHB(6)=0
  270. 5090 BS$(7)="MOJI":HX(7)=64:HY(7)=82:HDX(7)=100:HDY(7)=94:COL(7)=0:MOJI$(7)="■表示":PUSHB(7)=0
  271. 5100 BS$(8)="CONNECT":HX(8)=63:HY(8)=96:HDX(8)=73:HDY(8)=106:COL(8)=9:MOJI$(8)="":PUSHB(8)=1
  272. 5110 BS$(9)="CONNECT":HX(9)=63:HY(9)=111:HDX(9)=73:HDY(9)=121:COL(9)=9:MOJI$(9)="":PUSHB(9)=1
  273. 5120 BS$(10)="CONNECT":HX(10)=63:HY(10)=126:HDX(10)=73:HDY(10)=136:COL(10)=9:MOJI$(10)="":PUSHB(10)=1
  274. 5130 BS$(11)="MOJI":HX(11)=76:HY(11)=96:HDX(11)=142:HDY(11)=108:COL(11)=8:MOJI$(11)="RC-TIMECORD":PUSHB(11)=0
  275. 5140 BS$(12)="MOJI":HX(12)=76:HY(12)=111:HDX(12)=160:HDY(12)=123:COL(12)=8:MOJI$(12)="時計(HH:MM:SS)":PUSHB(12)=0
  276. 5150 BS$(13)="MOJI":HX(13)=76:HY(13)=126:HDX(13)=142:HDY(13)=138:COL(13)=8:MOJI$(13)="時計(HH:MM)":PUSHB(13)=0
  277. 5160 BS$(14)="CONNECT2":HX(14)=74:HY(14)=140:HDX(14)=144:HDY(14)=157:COL(14)=9:MOJI$(14)="":PUSHB(14)=0
  278. 5170 BS$(15)="MOJI":HX(15)=79:HY(15)=143:HDX(15)=139:HDY(15)=155:COL(15)=8:MOJI$(15)="時計合わせ":PUSHB(15)=0
  279. 5180 BS$(16)="CONNECT2":HX(16)=202:HY(16)=177:HDX(16)=244:HDY(16)=193:COL(16)=9:MOJI$(16)="":PUSHB(16)=0
  280. 5190 BS$(17)="CONNECT2":HX(17)=157:HY(17)=177:HDX(17)=199:HDY(17)=193:COL(17)=9:MOJI$(17)="":PUSHB(17)=0
  281. 5200 BS$(18)="MOJI":HX(18)=165:HY(18)=179:HDX(18)=189:HDY(18)=192:COL(18)=7:MOJI$(18)="設定":PUSHB(18)=0
  282. 5210 BS$(19)="MOJI":HX(19)=211:HY(19)=179:HDX(19)=235:HDY(19)=192:COL(19)=7:MOJI$(19)="終了":PUSHB(19)=0
  283. 5220 BS$(20)="CONNECT2":HX(20)=74:HY(20)=160:HDX(20)=144:HDY(20)=177:COL(20)=9:MOJI$(20)="":PUSHB(20)=0
  284. 5230 BS$(21)="MOJI":HX(21)=79:HY(21)=163:HDX(21)=139:HDY(21)=175:COL(21)=0:MOJI$(21)="TVモニタ":PUSHB(21)=0
  285. 5240 BS$(22)="MOJI":HX(22)=165:HY(22)=82:HDX(22)=225:HDY(22)=94:COL(22)=8:MOJI$(22)="■フォント":PUSHB(22)=0
  286. 5250 BS$(23)="CONNECT":HX(23)=164:HY(23)= 98:HDX(23)=226:HDY(23)=112:COL(23)=9:MOJI$(23)="":PUSHB(23)=0
  287. 5260 BS$(24)="CONNECT":HX(24)=164:HY(24)=113:HDX(24)=226:HDY(24)=128:COL(24)=9:MOJI$(24)="":PUSHB(24)=0
  288. 5270 BS$(25)="CONNECT":HX(25)=164:HY(25)=129:HDX(25)=226:HDY(25)=143:COL(25)=9:MOJI$(25)="":PUSHB(25)=0
  289. 5280 BS$(26)="CONNECT":HX(26)=164:HY(26)=144:HDX(26)=226:HDY(26)=158:COL(26)=9:MOJI$(26)="":PUSHB(26)=0
  290. 5290 BS$(27)="CONNECT":HX(27)=164:HY(27)=159:HDX(27)=226:HDY(27)=173:COL(27)=9:MOJI$(27)="":PUSHB(27)=0
  291. 5300 BS$(28)="MOJI":HX(28)=165:HY(28)= 99:HDX(28)=225:HDY(28)=111:COL(28)=0:MOJI$(28)="システム ":PUSHB(28)=0
  292. 5310 BS$(29)="MOJI":HX(29)=165:HY(29)=114:HDX(29)=225:HDY(29)=127:COL(29)=0:MOJI$(29)="明朝体  ":PUSHB(29)=0
  293. 5320 BS$(30)="MOJI":HX(30)=165:HY(30)=130:HDX(30)=225:HDY(30)=142:COL(30)=0:MOJI$(30)="ゴシック体":PUSHB(30)=0
  294. 5330 BS$(31)="MOJI":HX(31)=165:HY(31)=145:HDX(31)=225:HDY(31)=157:COL(31)=0:MOJI$(31)="教科書体 ":PUSHB(31)=0
  295. 5340 BS$(32)="MOJI":HX(32)=165:HY(32)=160:HDX(32)=225:HDY(32)=172:COL(32)=0:MOJI$(32)="まるもじ ":PUSHB(32)=0
  296. 5350 GOSUB *RK:GOSUB *PROG_SET:GOSUB *FONT_SET
  297. 5360 *ボタン反応1
  298. 5370 WHILE MOUSE(2,0)=0:WEND:MX=MOUSE(0):MY=MOUSE(1):SWITCH=0:HMX=0
  299. 5380 FOR I=0 TO MAX
  300. 5390 IF LEFT$(BS$(I),7)="CONNECT" THEN
  301. 5400 IF MX>=HX(I) AND MY>=HY(I) AND MX<=HDX(I) AND MY<=HDY(I) THEN HMX=I
  302. 5410 ENDIF
  303. 5420 NEXT
  304. 5430 IF HMX<>0 GOTO *ボタン処理1
  305. 5440 GOTO *ボタン反応1
  306. 5450 *ボタン処理1
  307. 5460 GOSUB *ボタン処理
  308. 5470 '==============================ボタン分岐
  309. 5480 IF SWITCH=1 AND HMX=2  THEN MOUSE 5:END
  310. 5490 IF SWITCH=1 AND HMX=16 THEN MOUSE 5:END
  311. 5500 IF SWITCH=1 AND HMX=17 THEN GOTO *JUMP
  312. 5510 IF SWITCH=1 AND HMX=14 THEN GOTO *SET_TIMER
  313. 5520 IF SWITCH=1 AND HMX=8  THEN GOSUB *PROG_SET
  314. 5530 IF SWITCH=1 AND HMX=9  THEN GOSUB *PROG_SET
  315. 5540 IF SWITCH=1 AND HMX=10 THEN GOSUB *PROG_SET
  316. 5541 IF SWITCH=1 AND HMX=23 THEN GOSUB *FONT_SET
  317. 5542 IF SWITCH=1 AND HMX=24 THEN GOSUB *FONT_SET
  318. 5543 IF SWITCH=1 AND HMX=25 THEN GOSUB *FONT_SET
  319. 5544 IF SWITCH=1 AND HMX=26 THEN GOSUB *FONT_SET
  320. 5545 IF SWITCH=1 AND HMX=27 THEN GOSUB *FONT_SET
  321. 5546 IF SWITCH=1 AND HMX=20 THEN GOTO *TV_MONITER
  322. 5550 '========================================
  323. 5555 LINE(HX(FONT_FLAG+22),HY(FONT_FLAG+22))-(HDX(FONT_FLAG+22),HDY(FONT_FLAG+22)),PSET,%7,B
  324. 5560 GOTO *ボタン反応1
  325. 5570 '
  326. 5580 '================================USER SUB
  327. 5590 *PROG_SET 'プログラム選択
  328. 5600 IF PROG_FLAG<>0 THEN LINE (HX(PROG_FLAG+7)+1,HY(PROG_FLAG+7)+1)-(HDX(PROG_FLAG+7)-1,HDY(PROG_FLAG+7)-1),PSET,%1,BF'
  329. 5610 IF HMX=8  THEN PROG_FLAG=1'RC-TIME
  330. 5620 IF HMX=9  THEN PROG_FLAG=2'TIME(HH:MM:SS)
  331. 5630 IF HMX=10 THEN PROG_FLAG=3'TIME(HH:MM)
  332. 5640 LINE (HX(PROG_FLAG+7)+1,HY(PROG_FLAG+7)+1)-(HDX(PROG_FLAG+7)-1,HDY(PROG_FLAG+7)-1),PSET,0,BF
  333. 5650 RETURN
  334. 5660 '
  335. 5700 *FONT_SET 'フォント選択(TIME(HH:MM)のみ)
  336. 5705 IF FONT_FLAG<>0 THEN X1=HX(FONT_FLAG+22):Y1=HY(FONT_FLAG+22):X2=HDX(FONT_FLAG+22):Y2=HDY(FONT_FLAG+22):GOSUB *CONNECT
  337. 5710 IF HMX=23 THEN FONT_FLAG=1 'システム   12ドット*2
  338. 5720 IF HMX=24 THEN FONT_FLAG=2 '明朝体     24ドット
  339. 5730 IF HMX=25 THEN FONT_FLAG=3 'ゴシック体 24ドット
  340. 5740 IF HMX=26 THEN FONT_FLAG=4 '教科書体   24ドット
  341. 5750 IF HMX=27 THEN FONT_FLAG=5 'まるもじ   24ドット
  342. 5760 LINE(HX(FONT_FLAG+22),HY(FONT_FLAG+22))-(HDX(FONT_FLAG+22),HDY(FONT_FLAG+22)),PSET,%7,B
  343. 5770 RETURN
  344. 5780 '
  345. 6000 *TV_MONITER 'ビデオ画面モニター
  346. 6010 SCREEN@ 1:CLS
  347. 6020 LINE(0,0)-(319,239),PSET,[0,0,0,1],BF:SIMPOSE ON
  348. 6030 LINE(29,209)-(294,222),PSET,7,BF
  349. 6050 SYMBOL(30,210),"TVモニター   マウスクリックで終了します",.75!,.75!,0
  350. 6060 MOUSE 0:WHILE MOUSE(2,0)=0 AND MOUSE(2,1)=0:WEND
  351. 6080 GOTO *FORMAT
  352. 7000 '
  353. 10000 *SET_TIMER '時刻設定
  354. 10010 ' 描画データを再設定
  355. 10020 MAX= 34
  356. 10030 BS$(0)="BOXFIL":HX(0)=0:HY(0)=0:HDX(0)=319:HDY(0)=239:COL(0)=9:MOJI$(0)="":PUSHB(0)=0
  357. 10040 BS$(1)="MCONNECT2":HX(1)=55:HY(1)=51:HDX(1)=249:HDY(1)=200:COL(1)=9:MOJI$(1)="":PUSHB(1)=0
  358. 10050 BS$(2)="CONNECT2":HX(2)=59:HY(2)=54:HDX(2)=76:HDY(2)=71:COL(2)=9:MOJI$(2)="":PUSHB(2)=0
  359. 10060 BS$(3)="MCONNECTR":HX(3)=79:HY(3)=55:HDX(3)=245:HDY(3)=71:COL(3)=9:MOJI$(3)="":PUSHB(3)=0
  360. 10070 BS$(4)="MOJI":HX(4)=62:HY(4)=57:HDX(4)=74:HDY(4)=69:COL(4)=7:MOJI$(4)="×":PUSHB(4)=0
  361. 10080 BS$(5)="MOJI":HX(5)=83:HY(5)=57:HDX(5)=131:HDY(5)=69:COL(5)=7:MOJI$(5)="時刻設定":PUSHB(5)=0
  362. 10090 BS$(6)="CONNECT2":HX(6)=201:HY(6)=178:HDX(6)=245:HDY(6)=196:COL(6)=9:MOJI$(6)="":PUSHB(6)=0
  363. 10100 BS$(7)="CONNECT2":HX(7)=153:HY(7)=178:HDX(7)=197:HDY(7)=196:COL(7)=9:MOJI$(7)="":PUSHB(7)=0
  364. 10110 BS$(8)="MOJI":HX(8)=163:HY(8)=181:HDX(8)=187:HDY(8)=193:COL(8)=7:MOJI$(8)="設定":PUSHB(8)=0
  365. 10120 BS$(9)="MOJI":HX(9)=211:HY(9)=181:HDX(9)=235:HDY(9)=193:COL(9)=7:MOJI$(9)="取消":PUSHB(9)=0
  366. 10130 BS$(10)="MCONNECTR":HX(10)=101:HY(10)=74:HDX(10)=146:HDY(10)=105:COL(10)=9:MOJI$(10)="":PUSHB(10)=0
  367. 10140 BS$(11)="MCONNECTR":HX(11)=101:HY(11)=108:HDX(11)=146:HDY(11)=139:COL(11)=9:MOJI$(11)="":PUSHB(11)=0
  368. 10150 BS$(12)="MCONNECTR":HX(12)=101:HY(12)=142:HDX(12)=146:HDY(12)=173:COL(12)=9:MOJI$(12)="":PUSHB(12)=0
  369. 10160 BS$(13)="CONNECT2":HX(13)=147:HY(13)=74:HDX(13)=162:HDY(13)=89:COL(13)=9:MOJI$(13)="":PUSHB(13)=0
  370. 10170 BS$(14)="CONNECT2":HX(14)=147:HY(14)=90:HDX(14)=162:HDY(14)=105:COL(14)=9:MOJI$(14)="":PUSHB(14)=0
  371. 10180 BS$(15)="CONNECT2":HX(15)=147:HY(15)=108:HDX(15)=162:HDY(15)=123:COL(15)=9:MOJI$(15)="":PUSHB(15)=0
  372. 10190 BS$(16)="CONNECT2":HX(16)=147:HY(16)=124:HDX(16)=162:HDY(16)=139:COL(16)=9:MOJI$(16)="":PUSHB(16)=0
  373. 10200 BS$(17)="CONNECT2":HX(17)=147:HY(17)=142:HDX(17)=162:HDY(17)=157:COL(17)=9:MOJI$(17)="":PUSHB(17)=0
  374. 10210 BS$(18)="CONNECT2":HX(18)=147:HY(18)=158:HDX(18)=162:HDY(18)=173:COL(18)=9:MOJI$(18)="":PUSHB(18)=0
  375. 10220 BS$(19)="MOJI":HX(19)=149:HY(19)=76:HDX(19)=161:HDY(19)=88:COL(19)=8:MOJI$(19)="▲":PUSHB(19)=0
  376. 10230 BS$(20)="MOJI":HX(20)=149:HY(20)=92:HDX(20)=161:HDY(20)=104:COL(20)=8:MOJI$(20)="▼":PUSHB(20)=0
  377. 10240 BS$(21)="MOJI":HX(21)=149:HY(21)=110:HDX(21)=161:HDY(21)=122:COL(21)=8:MOJI$(21)="▲":PUSHB(21)=0
  378. 10250 BS$(22)="MOJI":HX(22)=149:HY(22)=126:HDX(22)=161:HDY(22)=138:COL(22)=8:MOJI$(22)="▼":PUSHB(22)=0
  379. 10260 BS$(23)="MOJI":HX(23)=149:HY(23)=144:HDX(23)=161:HDY(23)=156:COL(23)=8:MOJI$(23)="▲":PUSHB(23)=0
  380. 10270 BS$(24)="MOJI":HX(24)=149:HY(24)=160:HDX(24)=161:HDY(24)=172:COL(24)=8:MOJI$(24)="▼":PUSHB(24)=0
  381. 10280 BS$(25)="MOJI":HX(25)=79:HY(25)=82:HDX(25)=91:HDY(25)=94:COL(25)=8:MOJI$(25)="時":PUSHB(25)=0
  382. 10290 BS$(26)="MOJI":HX(26)=79:HY(26)=117:HDX(26)=91:HDY(26)=129:COL(26)=8:MOJI$(26)="分":PUSHB(26)=0
  383. 10300 BS$(27)="MOJI":HX(27)=79:HY(27)=152:HDX(27)=91:HDY(27)=164:COL(27)=8:MOJI$(27)="秒":PUSHB(27)=0
  384. 10310 BS$(28)="MOJI":HX(28)=166:HY(28)=84:HDX(28)=226:HDY(28)=96:COL(28)=8:MOJI$(28)="(00~23)":PUSHB(28)=0
  385. 10320 BS$(29)="MOJI":HX(29)=166:HY(29)=117:HDX(29)=226:HDY(29)=129:COL(29)=8:MOJI$(29)="(00~59)":PUSHB(29)=0
  386. 10330 BS$(30)="MOJI":HX(30)=166:HY(30)=151:HDX(30)=226:HDY(30)=163:COL(30)=8:MOJI$(30)="(00~59)":PUSHB(30)=0
  387. 10340 BS$(31)="MOJI":HX(31)=114:HY(31)=83:HDX(31)=138:HDY(31)=95:COL(31)=0:MOJI$(31)="00":PUSHB(31)=0
  388. 10350 BS$(32)="MOJI":HX(32)=114:HY(32)=117:HDX(32)=138:HDY(32)=129:COL(32)=0:MOJI$(32)="00":PUSHB(32)=0
  389. 10360 BS$(33)="MOJI":HX(33)=114:HY(33)=151:HDX(33)=138:HDY(33)=163:COL(33)=0:MOJI$(33)="00":PUSHB(33)=0
  390. 10370 GOSUB *RK:GOSUB *NOWTIME
  391. 10380 *ボタン反応2
  392. 10390 WHILE MOUSE(2,0)=0:WEND:MX=MOUSE(0):MY=MOUSE(1):SWITCH=0:HMX=0
  393. 10400 FOR I=0 TO MAX
  394. 10410 IF LEFT$(BS$(I),7)="CONNECT" THEN
  395. 10420 IF MX>=HX(I) AND MY>=HY(I) AND MX<=HDX(I) AND MY<=HDY(I) THEN HMX=I
  396. 10430 ENDIF
  397. 10440 NEXT
  398. 10450 IF HMX<>0 GOTO *ボタン処理2
  399. 10460 GOTO *ボタン反応2
  400. 10470 *ボタン処理2
  401. 10480 GOSUB *ボタン処理
  402. 10490 '==============================ボタン分岐
  403. 10500 IF SWITCH=1 AND HMX=6  THEN GOTO *BACK_MAIN
  404. 10510 IF SWITCH=1 AND HMX=7  THEN GOTO *TIMESET
  405. 10520 IF SWITCH=1 AND HMX=2  THEN GOTO *BACK_MAIN
  406. 10530 IF SWITCH=1 AND HMX=13 THEN GOSUB *TIMEPUT
  407. 10540 IF SWITCH=1 AND HMX=14 THEN GOSUB *TIMEPUT
  408. 10550 IF SWITCH=1 AND HMX=15 THEN GOSUB *TIMEPUT
  409. 10560 IF SWITCH=1 AND HMX=16 THEN GOSUB *TIMEPUT
  410. 10570 IF SWITCH=1 AND HMX=17 THEN GOSUB *TIMEPUT
  411. 10580 IF SWITCH=1 AND HMX=18 THEN GOSUB *TIMEPUT
  412. 10590 '========================================
  413. 10600 GOTO *ボタン反応2
  414. 10610 '
  415. 10620 *BACK_MAIN
  416. 10630 GOTO *YOURPROGRAM
  417. 10640 '
  418. 10650 *TIMEPUT '時間枠の上下
  419. 10660 IF HMX=13 THEN HOUR=HOUR+1:IF HOUR>=24 THEN HOUR=0
  420. 10670 IF HMX=14 THEN HOUR=HOUR-1:IF HOUR=<-1 THEN HOUR=23
  421. 10680 IF HMX=15 THEN MIN=MIN+1:IF MIN>=60 THEN MIN=0
  422. 10690 IF HMX=16 THEN MIN=MIN-1:IF MIN=<-1 THEN MIN=59
  423. 10700 IF HMX=17 THEN SEC=SEC+1:IF SEC>=60 THEN SEC=0
  424. 10710 IF HMX=18 THEN SEC=SEC-1:IF SEC=<-1 THEN SEC=59
  425. 10720 '
  426. 10730 IF HMX=13 OR HMX=14 THEN                                                   TMP$=RIGHT$("00"+RIGHT$(STR$(HOUR),LEN(STR$(HOUR))-1),2):TMP=31
  427. 10740 IF HMX=15 OR HMX=16 THEN                                                   TMP$=RIGHT$("00"+RIGHT$(STR$(MIN),LEN(STR$(MIN))-1),2):TMP=32
  428. 10750 IF HMX=17 OR HMX=18 THEN                                                   TMP$=RIGHT$("00"+RIGHT$(STR$(SEC),LEN(STR$(SEC))-1),2):TMP=33
  429. 10760 LINE(HX(TMP),HY(TMP))-(HDX(TMP),HDY(TMP)),PSET,%1,BF
  430. 10770 SYMBOL(HX(TMP),HY(TMP)),AKCNV$(TMP$),.75!,.75!,%8
  431. 10780 RETURN
  432. 10790 '
  433. 10800 *TIMESET
  434. 10810 HH$=RIGHT$("00"+RIGHT$(STR$(HOUR),LEN(STR$(HOUR))-1),2)
  435. 10820 MM$=RIGHT$("00"+RIGHT$(STR$(MIN),LEN(STR$(MIN))-1),2)
  436. 10830 SS$=RIGHT$("00"+RIGHT$(STR$(SEC),LEN(STR$(SEC))-1),2)
  437. 10840 TIME$=HH$+":"+MM$+":"+SS$
  438. 10850 GOTO *BACK_MAIN
  439. 10860 '
  440. 10870 *NOWTIME
  441. 10880 HH$=LEFT$(TIME$,2):MM$=MID$(TIME$,4,2):SS$=RIGHT$(TIME$,2)
  442. 10890 HOUR=VAL(HH$):MIN=VAL(MM$):SEC=VAL(SS$)
  443. 10900 LINE(HX(31),HY(31))-(HDX(31),HDY(31)),PSET,%1,BF
  444. 10910 SYMBOL(HX(31),HY(31)),AKCNV$(HH$),.75!,.75!,%8
  445. 10920 LINE(HX(32),HY(32))-(HDX(32),HDY(32)),PSET,%1,BF
  446. 10930 SYMBOL(HX(32),HY(32)),AKCNV$(MM$),.75!,.75!,%8
  447. 10940 LINE(HX(33),HY(33))-(HDX(33),HDY(33)),PSET,%1,BF
  448. 10950 SYMBOL(HX(33),HY(33)),AKCNV$(SS$),.75!,.75!,%8
  449. 10960 RETURN
  450. 10970 '
  451. 10980 *JUMP '各プログラムへのジャンプ
  452. 10990 ON PROG_FLAG GOTO 11000,11010,11020
  453. 11000 CHAIN "RCTIME.BAS",,ALL
  454. 11010 CHAIN "TVTIMER.BAS",,ALL
  455. 11020 CHAIN "TOKEI.BAS",,ALL
  456. 11030 '
  457. 11040 *ZOOM '16COLORでのデバッグ時のみ使用。
  458. 11050   OUT &H440,&H1B,2:OUT &H442,(YBAI-1)*16+(XBAI-1),2
  459. 11060 RETURN
  460.